
// Copyright (C) Melnac 2017
// v1.0.0
// ************************************************************************
// Utilities classes for ADO.NET Extension...
// ************************************************************************
namespace DAL.BetpointAdvanced.BNL.ADO.Utilities
{

using System.Data;
using GrayParrot.Data.ADONET;

    // ************************************************************************
    // Utility classes for ADO.NET Extension...
    public class BNL_ElencoCodici3DSecureAggregateRoot
	{
          public int IdCodice {get; set;}
	}

    public static class BNL_ElencoCodici3DSecure_Util
    {
     
       public const string InsertCmd = "INSERT INTO BNL.ElencoCodici3DSecure (codice, descrizione) VALUES (@codice, @descrizione)";
       public const string UpdateCmd = "UPDATE BNL.ElencoCodici3DSecure SET codice = @Codice, descrizione = @Descrizione WHERE id_codice = @IdCodice";
	   public const string RemoveCmd = "DELETE FROM BNL.ElencoCodici3DSecure WHERE id_codice = @IdCodice";
	   public const string RemoveCmdByKey = "DELETE FROM BNL.ElencoCodici3DSecure WHERE id_codice = @IdCodice";
	   public const string FindCmd = "SELECT codice, descrizione FROM BNL.ElencoCodici3DSecure WHERE id_codice = @IdCodice";
	   public const string FindAllCmd = "SELECT codice, descrizione FROM BNL.ElencoCodici3DSecure";

	   public static void Add(this IDbCommand command, BNL_ElencoCodici3DSecure item)
       {
	      command.CommandText = InsertCmd;
          command.AddParameter("codice", item.Codice);
          command.AddParameter("descrizione", item.Descrizione);
       }

	   public static void Update(this IDbCommand command, BNL_ElencoCodici3DSecure item)
       {
	      command.CommandText = UpdateCmd;
          command.AddParameter("codice", item.Codice);
          command.AddParameter("descrizione", item.Descrizione);
       }

	   public static void Remove(this IDbCommand command, BNL_ElencoCodici3DSecure item)
       {
	      command.CommandText = RemoveCmd;
          command.AddParameter("id_codice", item.IdCodice);
       }

	   public static void RemoveByKey_BNL_ElencoCodici3DSecure(this IDbCommand command, BNL_ElencoCodici3DSecureAggregateRoot key)
       {
	      command.CommandText = RemoveCmdByKey;
          command.AddParameter("id_codice", key.IdCodice);
       }

	   public static void Find_BNL_ElencoCodici3DSecure(this IDbCommand command, BNL_ElencoCodici3DSecureAggregateRoot key)
       {
	      command.CommandText = FindCmd;
          command.AddParameter("id_codice", key.IdCodice);
       }

	   public static void Map_BNL_ElencoCodici3DSecure(this IDataRecord record, BNL_ElencoCodici3DSecure entity)
       {
          entity.IdCodice = (!record.IsDBNull(0) ? (int)record["id_codice"] : default(int)); 
          entity.Codice = (!record.IsDBNull(1) ? (int)record["codice"] : default(int)); 
          entity.Descrizione = (!record.IsDBNull(2) ? (string)record["descrizione"] : default(string)); 
       }
	}

    public class BNL_ReportTransazioniAggregateRoot
	{
          public long IdBnlReport {get; set;}
	}

    public static class BNL_ReportTransazioni_Util
    {
     
       public const string InsertCmd = "INSERT INTO BNL.ReportTransazioni (data_transazione, codice_ordine, descrizione_errore, importo, codice_risposta, esito_autenticazione_3dsecure, tipo_transazione, errore_interno, riferimento_transazione, id_transazione) VALUES (@data_transazione, @codice_ordine, @descrizione_errore, @importo, @codice_risposta, @esito_autenticazione_3dsecure, @tipo_transazione, @errore_interno, @riferimento_transazione, @id_transazione)";
       public const string UpdateCmd = "UPDATE BNL.ReportTransazioni SET data_transazione = @DataTransazione, codice_ordine = @CodiceOrdine, descrizione_errore = @DescrizioneErrore, importo = @Importo, codice_risposta = @CodiceRisposta, esito_autenticazione_3dsecure = @EsitoAutenticazione3Dsecure, tipo_transazione = @TipoTransazione, errore_interno = @ErroreInterno, riferimento_transazione = @RiferimentoTransazione, id_transazione = @IdTransazione WHERE id_bnl_report = @IdBnlReport";
	   public const string RemoveCmd = "DELETE FROM BNL.ReportTransazioni WHERE id_bnl_report = @IdBnlReport";
	   public const string RemoveCmdByKey = "DELETE FROM BNL.ReportTransazioni WHERE id_bnl_report = @IdBnlReport";
	   public const string FindCmd = "SELECT data_transazione, codice_ordine, descrizione_errore, importo, codice_risposta, esito_autenticazione_3dsecure, tipo_transazione, errore_interno, riferimento_transazione, id_transazione FROM BNL.ReportTransazioni WHERE id_bnl_report = @IdBnlReport";
	   public const string FindAllCmd = "SELECT data_transazione, codice_ordine, descrizione_errore, importo, codice_risposta, esito_autenticazione_3dsecure, tipo_transazione, errore_interno, riferimento_transazione, id_transazione FROM BNL.ReportTransazioni";

	   public static void Add(this IDbCommand command, BNL_ReportTransazioni item)
       {
	      command.CommandText = InsertCmd;
          command.AddParameter("data_transazione", item.DataTransazione);
          command.AddParameter("codice_ordine", item.CodiceOrdine);
          command.AddParameter("descrizione_errore", item.DescrizioneErrore);
          command.AddParameter("importo", item.Importo);
          command.AddParameter("codice_risposta", item.CodiceRisposta);
          command.AddParameter("esito_autenticazione_3dsecure", item.EsitoAutenticazione3Dsecure);
          command.AddParameter("tipo_transazione", item.TipoTransazione);
          command.AddParameter("errore_interno", item.ErroreInterno);
          command.AddParameter("riferimento_transazione", item.RiferimentoTransazione);
          command.AddParameter("id_transazione", item.IdTransazione);
       }

	   public static void Update(this IDbCommand command, BNL_ReportTransazioni item)
       {
	      command.CommandText = UpdateCmd;
          command.AddParameter("data_transazione", item.DataTransazione);
          command.AddParameter("codice_ordine", item.CodiceOrdine);
          command.AddParameter("descrizione_errore", item.DescrizioneErrore);
          command.AddParameter("importo", item.Importo);
          command.AddParameter("codice_risposta", item.CodiceRisposta);
          command.AddParameter("esito_autenticazione_3dsecure", item.EsitoAutenticazione3Dsecure);
          command.AddParameter("tipo_transazione", item.TipoTransazione);
          command.AddParameter("errore_interno", item.ErroreInterno);
          command.AddParameter("riferimento_transazione", item.RiferimentoTransazione);
          command.AddParameter("id_transazione", item.IdTransazione);
       }

	   public static void Remove(this IDbCommand command, BNL_ReportTransazioni item)
       {
	      command.CommandText = RemoveCmd;
          command.AddParameter("id_bnl_report", item.IdBnlReport);
       }

	   public static void RemoveByKey_BNL_ReportTransazioni(this IDbCommand command, BNL_ReportTransazioniAggregateRoot key)
       {
	      command.CommandText = RemoveCmdByKey;
          command.AddParameter("id_bnl_report", key.IdBnlReport);
       }

	   public static void Find_BNL_ReportTransazioni(this IDbCommand command, BNL_ReportTransazioniAggregateRoot key)
       {
	      command.CommandText = FindCmd;
          command.AddParameter("id_bnl_report", key.IdBnlReport);
       }

	   public static void Map_BNL_ReportTransazioni(this IDataRecord record, BNL_ReportTransazioni entity)
       {
          entity.IdBnlReport = (!record.IsDBNull(0) ? (long)record["id_bnl_report"] : default(long)); 
          entity.DataTransazione = (!record.IsDBNull(1) ? (System.DateTime)record["data_transazione"] : default(System.DateTime)); 
          entity.CodiceOrdine = (!record.IsDBNull(2) ? (string)record["codice_ordine"] : default(string)); 
          entity.DescrizioneErrore = (!record.IsDBNull(3) ? (string)record["descrizione_errore"] : default(string)); 
          entity.Importo = (!record.IsDBNull(4) ? (double)record["importo"] : default(double)); 
          entity.CodiceRisposta = (!record.IsDBNull(5) ? (string)record["codice_risposta"] : default(string)); 
          entity.EsitoAutenticazione3Dsecure = (!record.IsDBNull(6) ? (int)record["esito_autenticazione_3dsecure"] : default(int)); 
          entity.TipoTransazione = (!record.IsDBNull(7) ? (string)record["tipo_transazione"] : default(string)); 
          entity.ErroreInterno = (!record.IsDBNull(8) ? (bool)record["errore_interno"] : default(bool)); 
          entity.RiferimentoTransazione = (!record.IsDBNull(9) ? (string)record["riferimento_transazione"] : default(string)); 
          entity.IdTransazione = (!record.IsDBNull(10) ? (long)record["id_transazione"] : default(long)); 
       }
	}

    public class BNL_TransazioniAggregateRoot
	{
          public long IdTransazione {get; set;}
	}

    public static class BNL_Transazioni_Util
    {
     
       public const string InsertCmd = "INSERT INTO BNL.Transazioni (id_conto, id_utente, data_inizio_transazione, completata, codice_ordine, data_fine_transazione, importo, tipo_transazione, codice_approvazione, codice_risposta, esito_transazione_3dsecure, riferimento_transazione, motivazione_fallimento, id_versamento, source) VALUES (@id_conto, @id_utente, @data_inizio_transazione, @completata, @codice_ordine, @data_fine_transazione, @importo, @tipo_transazione, @codice_approvazione, @codice_risposta, @esito_transazione_3dsecure, @riferimento_transazione, @motivazione_fallimento, @id_versamento, @source)";
       public const string UpdateCmd = "UPDATE BNL.Transazioni SET id_conto = @IdConto, id_utente = @IdUtente, data_inizio_transazione = @DataInizioTransazione, completata = @Completata, codice_ordine = @CodiceOrdine, data_fine_transazione = @DataFineTransazione, importo = @Importo, tipo_transazione = @TipoTransazione, codice_approvazione = @CodiceApprovazione, codice_risposta = @CodiceRisposta, esito_transazione_3dsecure = @EsitoTransazione3Dsecure, riferimento_transazione = @RiferimentoTransazione, motivazione_fallimento = @MotivazioneFallimento, id_versamento = @IdVersamento, source = @Source WHERE id_transazione = @IdTransazione";
	   public const string RemoveCmd = "DELETE FROM BNL.Transazioni WHERE id_transazione = @IdTransazione";
	   public const string RemoveCmdByKey = "DELETE FROM BNL.Transazioni WHERE id_transazione = @IdTransazione";
	   public const string FindCmd = "SELECT id_conto, id_utente, data_inizio_transazione, completata, codice_ordine, data_fine_transazione, importo, tipo_transazione, codice_approvazione, codice_risposta, esito_transazione_3dsecure, riferimento_transazione, motivazione_fallimento, id_versamento, source FROM BNL.Transazioni WHERE id_transazione = @IdTransazione";
	   public const string FindAllCmd = "SELECT id_conto, id_utente, data_inizio_transazione, completata, codice_ordine, data_fine_transazione, importo, tipo_transazione, codice_approvazione, codice_risposta, esito_transazione_3dsecure, riferimento_transazione, motivazione_fallimento, id_versamento, source FROM BNL.Transazioni";

	   public static void Add(this IDbCommand command, BNL_Transazioni item)
       {
	      command.CommandText = InsertCmd;
          command.AddParameter("id_conto", item.IdConto);
          command.AddParameter("id_utente", item.IdUtente);
          command.AddParameter("data_inizio_transazione", item.DataInizioTransazione);
          command.AddParameter("completata", item.Completata);
          command.AddParameter("codice_ordine", item.CodiceOrdine);
          command.AddParameter("data_fine_transazione", item.DataFineTransazione);
          command.AddParameter("importo", item.Importo);
          command.AddParameter("tipo_transazione", item.TipoTransazione);
          command.AddParameter("codice_approvazione", item.CodiceApprovazione);
          command.AddParameter("codice_risposta", item.CodiceRisposta);
          command.AddParameter("esito_transazione_3dsecure", item.EsitoTransazione3Dsecure);
          command.AddParameter("riferimento_transazione", item.RiferimentoTransazione);
          command.AddParameter("motivazione_fallimento", item.MotivazioneFallimento);
          command.AddParameter("id_versamento", item.IdVersamento);
          command.AddParameter("source", item.Source);
       }

	   public static void Update(this IDbCommand command, BNL_Transazioni item)
       {
	      command.CommandText = UpdateCmd;
          command.AddParameter("id_conto", item.IdConto);
          command.AddParameter("id_utente", item.IdUtente);
          command.AddParameter("data_inizio_transazione", item.DataInizioTransazione);
          command.AddParameter("completata", item.Completata);
          command.AddParameter("codice_ordine", item.CodiceOrdine);
          command.AddParameter("data_fine_transazione", item.DataFineTransazione);
          command.AddParameter("importo", item.Importo);
          command.AddParameter("tipo_transazione", item.TipoTransazione);
          command.AddParameter("codice_approvazione", item.CodiceApprovazione);
          command.AddParameter("codice_risposta", item.CodiceRisposta);
          command.AddParameter("esito_transazione_3dsecure", item.EsitoTransazione3Dsecure);
          command.AddParameter("riferimento_transazione", item.RiferimentoTransazione);
          command.AddParameter("motivazione_fallimento", item.MotivazioneFallimento);
          command.AddParameter("id_versamento", item.IdVersamento);
          command.AddParameter("source", item.Source);
       }

	   public static void Remove(this IDbCommand command, BNL_Transazioni item)
       {
	      command.CommandText = RemoveCmd;
          command.AddParameter("id_transazione", item.IdTransazione);
       }

	   public static void RemoveByKey_BNL_Transazioni(this IDbCommand command, BNL_TransazioniAggregateRoot key)
       {
	      command.CommandText = RemoveCmdByKey;
          command.AddParameter("id_transazione", key.IdTransazione);
       }

	   public static void Find_BNL_Transazioni(this IDbCommand command, BNL_TransazioniAggregateRoot key)
       {
	      command.CommandText = FindCmd;
          command.AddParameter("id_transazione", key.IdTransazione);
       }

	   public static void Map_BNL_Transazioni(this IDataRecord record, BNL_Transazioni entity)
       {
          entity.IdTransazione = (!record.IsDBNull(0) ? (long)record["id_transazione"] : default(long)); 
          entity.IdConto = (!record.IsDBNull(1) ? (int)record["id_conto"] : default(int)); 
          entity.IdUtente = (!record.IsDBNull(2) ? (int)record["id_utente"] : default(int)); 
          entity.DataInizioTransazione = (!record.IsDBNull(3) ? (System.DateTime)record["data_inizio_transazione"] : default(System.DateTime)); 
          entity.Completata = (!record.IsDBNull(4) ? (bool)record["completata"] : default(bool)); 
          entity.CodiceOrdine = (!record.IsDBNull(5) ? (string)record["codice_ordine"] : default(string)); 
          entity.DataFineTransazione = (!record.IsDBNull(6) ? (System.DateTime)record["data_fine_transazione"] : default(System.DateTime)); 
          entity.Importo = (!record.IsDBNull(7) ? (double)record["importo"] : default(double)); 
          entity.TipoTransazione = (!record.IsDBNull(8) ? (string)record["tipo_transazione"] : default(string)); 
          entity.CodiceApprovazione = (!record.IsDBNull(9) ? (string)record["codice_approvazione"] : default(string)); 
          entity.CodiceRisposta = (!record.IsDBNull(10) ? (string)record["codice_risposta"] : default(string)); 
          entity.EsitoTransazione3Dsecure = (!record.IsDBNull(11) ? (int)record["esito_transazione_3dsecure"] : default(int)); 
          entity.RiferimentoTransazione = (!record.IsDBNull(12) ? (string)record["riferimento_transazione"] : default(string)); 
          entity.MotivazioneFallimento = (!record.IsDBNull(13) ? (string)record["motivazione_fallimento"] : default(string)); 
          entity.IdVersamento = (!record.IsDBNull(14) ? (long)record["id_versamento"] : default(long)); 
          entity.Source = (!record.IsDBNull(15) ? (short)record["source"] : default(short)); 
       }
	}

}

